<?php
/**
 *门户新闻后台管理
 * 
 * 
 */

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
class PortalpostController extends Controller
{
    /**
     * [查看--新闻管理首页]
     * 
     */
   public function getIndex(Request $request)
   {

    //获取新闻详情
    $posts=DB::table('portalpost')->orderBy('ctime','desc')->paginate(10);
    //插入新闻的类型
    foreach ($posts as $key => $value) {
        $tname=DB::table('portaltype')->where('id',$value->tid)->value('name');
        $value->tname=$tname;
    }
      $count=1;
      //判断是否有搜索
      if($request -> input('keywords')){
          $posts=DB::table('portalpost')
            ->where('title','like','%'.$request->input('keywords').'%')
            ->orWhere('uname','liek','%'.$request->input('keywords').'%')
            ->paginate(10);
      }else{
          //获取所有的
          $posts=DB::table('portalpost')->paginate(10);
      }
      foreach ($posts as $key => $value) {
          $tname=DB::table('portaltype')->where('id',$value->tid)->value('name');
          $value->tname=$tname;
      }
      //获取所有的数据
      $data = $request -> all();
      return view('Admin.portalpost.index',['posts'=>$posts,'count'=>$count,'data'=>$data]);
   }
   /**
    * 新闻添加
    * 
    */
   public function getAdd()
   {    
        /**
         * 
         * 查出所有可以添加新闻的板块
         *  
         */
        $types=DB::table('portaltype')->select('id','name')->where('pid','!=','0')->get();
        //dd($types);
        return view('Admin.portalpost.add',['types'=>$types]);
   }
   /**
    * 执行新闻添加
    * 
    */
   public function postInsert(Request $request)
   {
      // dd($request->all());
      $data=$request->except(['_token']);
      //检查是否有文件上传
      if($request->hasFile('img')){
        $img=$request->all()['img'];
        // dd(22222);
        //获取上传文件的大小
        $size=$img->getClientSize();
        //dd($size);
        //获取文件后后缀
        $suffix=$img->getClientOriginalExtension();
        //判断大小
        if($size>100000){
          return back()->with('error','文件过大,请上传小于');
        }

        //判断后缀
        $arr=array('jpg','png','jpeg');
        if(!in_array($suffix, $arr)){
          return back()->with('error','文件格式不正确');
        }
        //执行上传
        //重命名文件
        $newName=rand(1000,9999).time().'.'.$suffix;
        //路径
        $load='./bootcss/home/Images/portalpost';
        $request->file('img')->move($load,$newName);
        //将img的值给为上传的全路径
        $data['img']=$load.'/'.$newName;
      }

      //dd($v);

      // dd($data);
      //更改时间的插入格式为时间戳
      $data['ctime']=time();
      // dd($data);
      $res=DB::table('portalpost')->insert($data);
      if($res){
          return redirect('/admin/portalpost/index');
      }else{
          return back()->with('error','添加失败');

      }


   }

  
   /**
    * 删除新闻
    * 
    */
   public function getDelete($id)
   {
        DB::table('portalpost')->where('id',$id)->delete();

        return redirect('/admin/portalpost/index');
   }
   /**
    * 修改新闻
    * 
    */
   public function getEdit($id)
   {

    $data=DB::table('portalpost')->where('id',$id)->first();
    $tid=$data->tid;
    //dd($tid);
    $tname=DB::table('portaltype')->where('id',$tid)->value('name');
    //dd($tname);
    return view('Admin.portalpost.edit',['data'=>$data,'tname'=>$tname]);
   }
   /**
    * 执行新闻修改
    * 
    */
   public function postUpdate(Request $request)
   {
        $post=$request->except('_token','id');
        // dd($post);
        $id=$request->only('id');
        // dd($id);
        DB::table('portalpost')->where('id',$id)->update($post);

   }

   /**
    *新闻内容的查看
    * 
    */
   public function getScan($id)
   {

    $data=DB::table('portalpost')->where('id',$id)->first();
    $tid=$data->tid;
    //dd($tid);
    $tname=DB::table('portaltype')->where('id',$tid)->value('name');
    //dd($tname);
    $readonly="1";
    return view('Admin.portalpost.scan',['data'=>$data,'tname'=>$tname,'readonly'=>$readonly]);
   
   }
   /**
    *来自上级板块的查看
    *$tid=上级板块带入的板块id
    *返回到新闻详情列表
    * 
    */
   public function getSscan($tid)
   {
      // dd($tid);
      $posts=DB::table('portalpost')->where('tid',$tid)->paginate(10);
      //新闻的板块类型
      foreach ($posts as $key => $value) {
          $tname=DB::table('portaltype')->where('id',$value->tid)->value('name');
          $value->tname=$tname;
      }

      $count=1;
      return view('Admin.portalpost.index',['posts'=>$posts,'count'=>$count]);
   
   }

   /**
    * 更改hot值
    */

    public function getHot(Request $request)
    {
        $id = $request->input('pid');
        $hot=$request->input('hot');

        
        switch ($hot) {
          case 0:
            $res=DB::table('portalpost')->where('id',$id)->update(['hot'=>'1']);
              if($res){
              echo 1;

              }
            break;
          case 1:
            $res=DB::table('portalpost')->where('id',$id)->update(['hot'=>'2']);
              if($res){
                  echo 2;

              }

            break;
          
          case 2:
            $res=DB::table('portalpost')->where('id',$id)->update(['hot'=>'0']);
              if($res){
                echo 0;

              }
            break;
        }

    }

}
